- 미국 연간 유지비용에 대한 권장사항은 주택 원래 가격의 1.5% ~ 4%까지 다양함.
ex) 70만 달러에 주택을 구매한다면 연간 10,500~28,000 달러를 유지비로 지출
📍 유지 및 관리 비용 ⬇ 매매 가격 ⬇ 집을 찾아보자!
👀 ” 저렴한 집값만 보고 샀다가 유지비 폭탄?”
프로젝트 목적 : 지금 당장 드러나는 가격뿐 아니라, 장기적인 유지 비용까지 고려한 ’진짜 합리적인 집 구매’를 꿈꾸는 사람들을 위한 Ames 부동산 분석 프로젝트
품질 / 상태
14
면적
5
욕실
4
연도
3
OverallQualOverallCondRoofStyleExterQualExterCondExterior1stHeatingQCGarageCondBsmtCondBsmtQualKitchenQualGarageQualFoundationPavedDriveGrLivAreaTotalBsmtSFGarageAreaWoodDeckSFTotRmsAbvGrdFullBathHalfBathBsmtFullBathBsmtHalfBathYearBuiltYearRemodAddGarageYrBltText(0.5, 1.0, 'Average Sale Price by Year Built')
Text(0.5, 0, 'Year Built')
Text(0, 0.5, 'Average Sale Price')
지하실 및 차고가 없는 경우는 'None'으로 채운 후, Ordinal Encoding을 통해 수치화함.
차고 건축 연도(GarageYrBlt), 지하실 욕실 등 일부 수치형 결측치는 0으로 처리함.
최종적으로 37개 주요 변수 추출함.
감성적 특성과 관계된 30여 개 변수 선정
품질/상태, 면적, 위치, 연도, 욕실 수 등 포함
종속변수는 SalePrice 사용
GarageCond, BsmtCond, BsmtQual, GarageQual 등
→ 결측 = 해당 항목 없음 → "None"으로 처리
GarageYrBlt, BsmtFullBath, BsmtHalfBath, TotalBsmtSF, GarageArea
→ 결측 = 구조물 없음 → 0으로 대체
Ordinal Encoding
품질/상태 관련: "None"=0, "Po"=1 ~ "Ex"=5
대상 변수: ExterQual, HeatingQC, KitchenQual, 등
RoofStyle, Exterior1st, Foundation, PavedDrive
→ pd.get_dummies로 처리 (기준값 제외)
Text(0.5, 0, 'Coefficient Value')
Text(0.5, 1.0, 'LassoCV - Selected Feature Coefficients')
Text(0.5, 0, 'Alpha')
Text(0, 0.5, 'Number of Selected Features')
Text(0.5, 1.0, 'Alpha 값에 따른 변수 선택 개수 변화')
| 모델 | Adj. R-squared | AIC |
|---|---|---|
| Model 1 | 0.852 | 58050 |
| Model 2 | 0.853 | 58030 |
Best alpha: 1.0
Best CV Score (MSE): 842496338.639763
Feature Coefficient
0 GrLivArea 28509.204148
1 OverallQual 16064.129906
2 TotalBsmtSF 15064.054441
4 YearBuilt 8264.238236
7 ExterQual 8246.379869
6 BsmtFullBath 7591.288208
3 GarageArea 7441.589696
5 OverallCond 6397.928780
9 KitchenQual 5902.946895
8 BsmtQual 215.144143
📌 점수화 과정
✔️ 10개 선정된 변수들 사이에서 이상치 체크
✔️ MinMaxScaler 적용하기
✔️ 면적, 품질, 상태, 연식 score로 만들기
✔️ score 별 가중치 곱하고 합산 진행
✔️ 가중치 컬럼(MaintenanceScore)을 만들기
quality_score 와 year_score에 조금 더 비중을 둬서 가중치 진행
가중치를 둬서 계산 진행
MaintenanceScore을 A(최우수),B(양호),C(개선필요),D(시급)으로 구분
MaintenanceScore 높다는 것은 가격대비 유지보수가 높다는 것
=> 해당 집은 피해야하는 집!
MaintenanceScore 의 평균과 표준편차를 활용하여 등급을 나누기
왜? 평균과 표준편차를 활용하는 걸까?
| OverallQual | ExterQual | KitchenQual | YearBuilt | BsmtFullBath | GrLivArea | TotalBsmtSF | GarageArea | WoodDeckSF | RoofStyle_Hip | |
|---|---|---|---|---|---|---|---|---|---|---|
| 2032 | 6 | 3 | 4 | 2002 | 1.0 | 914 | 914.0 | 0.0 | 32 | False |
| 2120 | 5 | 4 | 4 | 1963 | 1.0 | 912 | 912.0 | 300.0 | 0 | False |
| 1849 | 7 | 4 | 4 | 2004 | 0.0 | 1709 | 970.0 | 380.0 | 0 | False |
| 1493 | 7 | 4 | 4 | 2004 | 0.0 | 1708 | 976.0 | 380.0 | 0 | False |
| 1989 | 5 | 4 | 4 | 1982 | 0.0 | 816 | 816.0 | 264.0 | 0 | False |
| 1972 | 6 | 4 | 4 | 2003 | 1.0 | 848 | 848.0 | 420.0 | 140 | False |
| 1504 | 6 | 4 | 4 | 2003 | 1.0 | 848 | 848.0 | 420.0 | 140 | False |
| 1506 | 7 | 4 | 4 | 2004 | 0.0 | 1709 | 970.0 | 380.0 | 0 | False |
| 2059 | 6 | 4 | 4 | 2003 | 1.0 | 848 | 848.0 | 420.0 | 140 | False |
| 1794 | 7 | 4 | 4 | 2004 | 0.0 | 1709 | 970.0 | 380.0 | 0 | False |
Text(0.5, 1.0, 'Neighborhood-wise Average Maintenance Score')